python - Emacs python 模式
全部标签 我正在编写一个用于分发的小型Python应用程序。我需要包括简单的XML验证(它是一个调试工具),但我想避免对已编译的C库(如lxml或pyxml)的任何依赖,因为它们会使生成的应用程序更难分发。我找不到任何似乎符合要求的东西——对于DTD、RelaxNG或XMLSchema。有什么建议吗? 最佳答案 你的意思是像MiniXsv?我从来没有用过它,但是从网站上,我们可以读到minixsvisalightweightXMLschemavalidatorpackagewritteninpurePython(atleastPython2.
我想要一种快速获取URL并在流式传输时解析它的方法。理想情况下,这应该非常快。我选择的语言是Python。我有一种直觉,扭曲可以做到这一点,但我找不到一个例子。 最佳答案 如果您需要以流方式处理HTTP响应,有几个选项。您可以通过downloadPage完成:fromxml.saximportmake_parserfromtwisted.web.clientimportdownloadPageclassStreamingXMLParser:def__init__(self):self._parser=make_parser()def
有一个模式包含以下无聊的根元素:就我而言,架构是有效的,例如,Excel读取它没有问题。但是,当我尝试使用MSXML(v3或v4或v6)针对此架构验证内容时,我收到了主题错误。(我创建了XMLSchemaCache,当我将加载的模式添加到其中时发生错误。)我从Google得知MSXML引擎存在概念上的问题,不符合W3标准,必须使用不同的namespace定义。但是,我既找不到更正确的定义,也找不到对问题的任何体面的解释。我只能在论坛上找到很多没有回复的帖子。有没有人能把这件事解释得更深入一点?编辑出于某种原因,尽管我通过版本3、4和6循环引用项目,但一直使用版本3。强制切换到4/6解决
我想知道是否有人知道如何将文本添加到标签(p、b——任何您可能想要包含字符数据的标签)。该文档没有提到您可以在哪里执行此操作。 最佳答案 我不确定这是否是您想要的,但也许这是一个开始...fromBeautifulSoupimportBeautifulSoup,NavigableStringhtml=""soup=BeautifulSoup(html)ptag=soup.find('p')ptag.insert(0,NavigableString("new"))printptag输出new文档显示了更多类似的示例:http://ww
通过使用模式,是否有任何简单/容易的方法来验证xml消息的编码?假设xml的第一行“不”可信?例如忽略?xmlversion="1.0"encoding="UTF-8"? 最佳答案 不,除了二进制数据元素类型之外,模式不能规定编码类型,但这种编码仍将被文档本身的高级编码封装。如果您意识到模式应该描述信息而不是传输格式,那么这是有道理的。XML规范规定了文档传输信息,例如在最一般意义上如何表示和存储信息。模式用于验证通过XML存储的数据是否满足各方之间的某种语法限制。XML规范中定义的序言(您提到的第一行)是存在(或不存在)的实体,投
我有一个编码标记设置为“utf-8”的xml。但是,它实际上是iso-8859-1。以编程方式,我如何在perl和python中检测到它?以及如何使用不同的编码进行解码?在perl中,我尝试过$xml=decode('iso-8859-1',$file)但是,这不起作用。 最佳答案 错误编码是出了名的难以检测,因为随机二进制数据通常代表许多编码中的有效字符串。在Perl中,您可以尝试的最简单的方法是尝试将其解码为utf-8并检查是否失败。(它只能这样工作;一个utf-8编码的西方语言文档几乎总是一个有效的iso-8859-1文档)m
有多种读取XML的方法,包括一次性(DOM)和一次一位(SAX)。我使用SAX或lxml来迭代读取大型XML文件(例如,维基百科转储是6.5GB压缩)。然而,在对该XML文件进行一些迭代处理(在python中使用ElementTree)之后,我想将(新的)XML数据写出到另一个文件。是否有任何库可以迭代地写出XML数据?我可以创建XML树,然后将其写出,但如果没有大量ram,这是不可能的。有没有办法将XML树迭代地写入文件?一次一位?我知道我可以用print""%tag_name自己生成XML等等,但这似乎有点……hacky。 最佳答案
与Python一起使用的首选XML处理器是什么?一些选择是迷你王国PyXML元素树...编辑:我需要能够阅读文档并对其进行操作。我还需要pretty-print功能。 最佳答案 lxml就是它所在的位置。下面是一些示例代码:importtextwrapfromos.pathimportjoinfromlxmlimportetree#stringtoElementtree=etree.XML(textwrap.dedent('''footextbartext'''))print'roottext:',tree.textprint'pr
我有一个数据GridView,其中填充了来自.xml文件的数据。数据是MyObjects的列表,其中MyObject是我拥有的C#类。这最初是在没有架构的情况下完成的,因此没有类型信息:(意味着我没有从MyObject类中的bools等自动生成的复选框列中受益。所以我用xsd.exe生成了一个.xsd文件。看起来很棒!但是我如何使用应用程序部署这个.xsd?我是否必须确保它与我的应用程序位于同一目录中并像这样加载它:DataSetds=newDataSet();ds.ReadXml("mystuff.xml");ds.ReadXmlSchema("myschema.xsd");data
我有许多XML文件需要解析。我写了一些有效但很丑陋的代码,我想从比我更有XML经验的人那里得到一些建议。首先,我可能在错误的上下文中使用了一些术语,因为我在XML方面的经验有限。对于元素,除非另有说明,我的意思是这样的:......无论如何,每个文件都包含许多元素,以及许多子元素(很明显)。令我感到困惑的是,需要以四种不同的方式访问相关值;1)节点文本:value2)属性:3)标签内“隐藏”的值(本例中为“true”):4)同名标签(“tagA”)内的值,但具有不同名称(“tag1”和“tag2”)的“祖parent”标签,都在同一元素内。“tagA”对我没有用,我会寻找“tag1